/**
 * @file    flash_blob.h
 * @brief   Flash algorithm for the lpc4330
 *
 * DAPLink Interface Firmware
 * Copyright (c) 2009-2016, ARM Limited, All Rights Reserved
 * SPDX-License-Identifier: Apache-2.0
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may
 * not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef TARGET_FLASH_H
#define TARGET_FLASH_H

#include "target_struct.h"
#include "swd_host.h"
#include "stdint.h"

#define RAM_START                   0x10000000
#define FLASH_START                 0x14000000

static const uint32_t LPC4330_FLM[] = {
    0xe00abe00, 0x062d780d, 0x24084068, 0xd3000040, 0x1e644058, 0x1c49d1fa, 0x2a001e52, 0x4770d1f2,

    /*0x020*/ 0x4770ba40, 0x4770bac0, 0xb5104935L, 0x22004449, 0x604a600a, 0x608a4a33, 0x32fff04f, 0x220860ca,
    /*0x040*/ 0x4931610a, 0x60084449, 0x48304931, 0x49316708, 0x600820f3, 0x610820d3, 0x608860c8, 0x20136048,
    /*0x060*/ 0x48276148, 0x4448230c, 0x210322c0, 0xf0003880L, 0x2800fb23, 0x2001d000, 0x2000bd10, 0x48204770,
    /*0x080*/ 0x44482100, 0xf1a06001L, 0x68890180, 0x491d6041, 0x21206081, 0x46016101, 0xf0013880L, 0x491ab890,
    /*0x0A0*/ 0x4449b510, 0x1a416809, 0x44484815, 0xf44f6001L, 0x60415180, 0x60814913, 0x61012120, 0x38804601,
    /*0x0C0*/ 0xf87df001L, 0xd0002800L, 0xbd102001L, 0x4a0e4613, 0x444ab510, 0x1a826812, 0x44484809, 0x2100e9c0,
    /*0x0E0*/ 0x60814908, 0x60c12100, 0x61012120, 0x46194602, 0xf0003880L, 0x2800ff3e, 0x2001d000, 0xbd10,
    /*0x100*/ 0x88, 0x10080000, 0x4, 0x1000800, 0x40050000, 0x4008618c, 0x604849f9, 0xc800480,
    /*0x120*/ 0x2801d006, 0x2802d008, 0x2803d008, 0x6948d008, 0x79269ca, 0x4770d4fc, 0xe7f97d08L, 0xe7f78a88L,
    /*0x140*/ 0x7d0a8a88, 0x4002ea40, 0xb510e7f2L, 0x1400f44f, 0x5141eb04, 0x6000ea41, 0x4002ea40, 0xbd104318L,
    /*0x160*/ 0x3406a80, 0xf44fd502L, 0x477010c0, 0x47702000, 0x4604b510, 0x46084613, 0x46112200, 0xffe5f7ffL,
    /*0x180*/ 0x46204601, 0xffecf7ffL, 0x4010e8bd, 0xe7c34308L, 0xb5004bdbL, 0xf7ff609aL, 0x4308ffe3, 0xeb04f85dL,
    /*0x1A0*/ 0xb530e7baL, 0x46054cd6, 0x46114608, 0x230060a3, 0xf7ff461aL, 0x4601ffca, 0xf7ff4628L, 0x4301ffd1,
    /*0x1C0*/ 0x69e06061, 0xd4fc0780L, 0x2200bd30, 0xe7cf2106L, 0x460db5f0, 0x461f4616, 0xf7ff4604L, 0x463bfff6,
    /*0x1E0*/ 0x46294632, 0xe8bd4620L, 0xe7da40f0L, 0x460db5f0, 0x461c4616, 0xf7ff4607L, 0x49c1ffe8, 0x4638608e,
    /*0x200*/ 0xffaef7ffL, 0xf4404328L, 0x60484000, 0xc8004a8, 0x2801d007, 0xb2a2d00bL, 0xd00a2802L, 0xd0042803L,
    /*0x220*/ 0x69c8614c, 0xd4fc0780L, 0x828abdf0L, 0x750c0c24, 0x828ae7f7L, 0x49b2e7f5, 0xf01369cbL, 0xd0190f06L,
    /*0x240*/ 0x61ca2210, 0xf01269caL, 0xd1fb0f16L, 0xd511075aL, 0xf40269c2L, 0xf5b20260L, 0xd30b0f40L, 0x730a22ff,
    /*0x260*/ 0xf36f69c0L, 0xf100000fL, 0x60480001, 0x69c87d08, 0xd4fc0780L, 0xe92d4770L, 0x460541f0, 0x46882400,
    /*0x280*/ 0x21017cea, 0xf102fa01L, 0x46204f9d, 0x69f9b2ce, 0xd4fc0789L, 0x6c20f644, 0x45641c64, 0x2201d207,
    /*0x2A0*/ 0x46282105, 0xff64f7ffL, 0x4230b2c0, 0x4230d0f4, 0x75284e94, 0xea5fd00aL, 0xd00c0008L, 0xd00c2801L,
    /*0x2C0*/ 0xd0062802L, 0xf03f1b8, 0xe008d10bL, 0xe8bd4630L, 0x4c8d81f0, 0x4c8de005, 0x4c8de003, 0xf04fe001L,
    /*0x2E0*/ 0x462834ff, 0xff3cf7ffL, 0x4308498a, 0x43087ce9, 0x69f86078, 0xd5020780L, 0xd1fa1e64L, 0xb1ece01eL,
    /*0x300*/ 0x75287d38, 0xf00f1b8, 0x6ae8d01e, 0xb2c1b1e0L, 0xd0172905L, 0x46282201, 0xff2af7ffL, 0x7568b2c0,
    /*0x320*/ 0xea106ae9L, 0xd00f2f11L, 0x4107f3c1, 0x2200b119, 0xf7ff4628L, 0x4873ff1d, 0xe7c81c80L, 0xf7ff4628L,
    /*0x340*/ 0xe7c3ff7aL, 0xe7eb7d28L, 0xe7c02000L, 0x4615b530, 0x460b4604, 0x46112200, 0xf7ff2001L, 0x4601fef6,
    /*0x360*/ 0x2200462b, 0xf7ff4620L, 0x6aa0ff41, 0xd5010480L, 0xbd302000L, 0xe8bd4620L, 0x21004030, 0xb5f0e77bL,
    /*0x380*/ 0x69c44605, 0x26a66a80, 0xd50b0581L, 0x120f404, 0xf00f5b1, 0xf444d106L, 0x61ec1400, 0xf4416a29L,
    /*0x3A0*/ 0x62291100, 0xd5180681L, 0xd5010540L, 0xe0002702L, 0x1d3f2701, 0x21852201, 0xf7ff4628L, 0xf000fed9L,
    /*0x3C0*/ 0x69e80307, 0x110f1c7, 0x20e0f400, 0x430340c8, 0x21812201, 0xf7ff4628L, 0x6aa8fefb, 0xd00707c0L,
    /*0x3E0*/ 0x22032300, 0x462821a3, 0xfedbf7ffL, 0xd1fd1e76L, 0x5142f3c4, 0x29064842, 0x21a5d304, 0xf4247301L,
    /*0x400*/ 0xe0010440L, 0x730121ff, 0xbdf06184L, 0x4604b510, 0x6006a80, 0x2201d511, 0x4620212b, 0xfea8f7ffL,
    /*0x420*/ 0x6aa17560, 0xf4210600L, 0xd5023170L, 0x3080f44f, 0xf44fe001L, 0x43014080, 0xbd1062a1L, 0x2300b530,
    /*0x440*/ 0x84836381L, 0x84c32307L, 0x8c83e010L, 0x442388cc, 0x790b8483, 0x88cd8cc4L, 0xd00107dbL, 0xe0002302L,
    /*0x460*/ 0xfb052301L, 0x31084303, 0x3a0884c3, 0xd2ec2a08L, 0x1ccf3c3, 0xbd3084c1L, 0xb1226b82L, 0x8c82b109L,
    /*0x480*/ 0x8cc0800aL, 0xb1114770L, 0xc126882, 0x6880800a, 0x47700cc0, 0x4604b510, 0x33cf100, 0xf7ff2100L,
    /*0x4A0*/ 0x1ffeb, 0x6aa0d01f, 0x7080f440, 0x462062a0, 0xfe56f7ffL, 0x201ea40, 0x43024817, 0x60424810,
    /*0x4C0*/ 0x7d02e002, 0x2b01f803, 0xf1a1000aL, 0xb2890101L, 0x2100d1f7, 0x42a33480, 0xf803d202L, 0xe7fa1b01L,
    /*0x4E0*/ 0x78969c1, 0xbd10d4fcL, 0x22011c49, 0xf04f408aL, 0x60826100, 0xd900428aL, 0x60c2460a, 0x4770,
    /*0x500*/ 0x40003000, 0x20003, 0x38270, 0x419ce0, 0xa408300, 0x5204000, 0x72200000, 0x41f0e92d,
    /*0x520*/ 0x460d4604, 0x49fe69c0, 0x46984616, 0xd06e4288L, 0x62a54620, 0xff6af7ffL, 0xf1b068a0L, 0xd9197f80L,
    /*0x540*/ 0xf4406aa0L, 0x62a07000, 0x28017c20, 0x2820d006, 0x28c2d00b, 0xf04fd009L, 0xe6b81002L, 0x22012380,
    /*0x560*/ 0x46202117, 0xfe1df7ffL, 0x2200e004, 0x462021b7, 0xfdfef7ffL, 0xd5040568L, 0x680148ea, 0x5180f041,
    /*0x580*/ 0x4fe96001, 0xd5240768L, 0x21352201, 0xf7ff4620L, 0xb2c0fdefL, 0x7817560, 0x7c0d455, 0x2201d135,
    /*0x5A0*/ 0x46202105, 0xfde4f7ffL, 0xf0417d61L, 0xea400102L, 0xb2822001L, 0x46202102, 0xfec8f7ffL, 0xd1cc2800L,
    /*0x5C0*/ 0x21352201, 0xf7ff4620L, 0x7560fdd3, 0x7080ea4f, 0x4e8e019, 0x2201d51c, 0x46202105, 0xfdc8f7ffL,
    /*0x5E0*/ 0x7520b2c0, 0xd42e0641L, 0x240f040, 0x46202101, 0xfeacf7ffL, 0xd1b02800L, 0x21052201, 0xf7ff4620L,
    /*0x600*/ 0x7520fdb7, 0x28000640, 0x4638db1d, 0xe04ee65fL, 0xd5180728L, 0x213f2201, 0xf7ff4620L, 0xb2c0fda9L,
    /*0x620*/ 0x6017560, 0xf040d40fL, 0x22010380, 0x4620213e, 0xfdcef7ffL, 0x213f2201, 0xf7ff4620L, 0x7560fd99,
    /*0x640*/ 0x6000ea4f, 0x7a8e7df, 0x2200d505, 0x46202138, 0xfd8ef7ffL, 0x6e8e017, 0x568d515, 0x2740d501,
    /*0x660*/ 0x2780e000, 0x21652201, 0xf7ff4620L, 0xb2c0fd81L, 0x42387560, 0xf040d007L, 0x43bb03c8, 0x21612201,
    /*0x680*/ 0xf7ff4620L, 0xf3c6fda5L, 0x280340c1, 0xd0106aa0L, 0x2080f420, 0x52862a0, 0xf3c6d507L, 0x1e5b4302,
    /*0x6A0*/ 0x21c02201, 0xf7ff4620L, 0xe9c4fd7cL, 0x20006807, 0xf440e60dL, 0xe7ed2080L, 0x41f0e92d, 0x46044e99,
    /*0x6C0*/ 0x69b0460f, 0x46984615, 0xf40f410, 0x4601d04d, 0x40c1f3c0, 0x280361e1, 0x2000d04a, 0x462062a0,
    /*0x6E0*/ 0xfda9f7ffL, 0x21ff2200, 0xf7ff4620L, 0x2200fd41, 0x46112301, 0xf7ff2065L, 0xf440fd28L, 0xf7ff10c0L,
    /*0x700*/ 0xf1a0fd0bL, 0x29800140, 0x681d208, 0xf040d406L, 0x220103c0, 0x46202161, 0xfd5af7ffL, 0x46202180,
    /*0x720*/ 0xfcbff001L, 0xc1f005, 0xd02428c1L, 0x2170f44f, 0x4107ea01, 0x50c0ea41, 0x71fff64f, 0x60304408,
    /*0x740*/ 0x219f2203, 0xf7ff4620L, 0xf04ffd13L, 0x61204100, 0x1600e9c4, 0xf06fb130L, 0x4288417f, 0x4973d002,
    /*0x760*/ 0xd10b4288L, 0x1d404870, 0xf440e5b1L, 0xe7af0140L, 0x2080f44f, 0x486ce7b2, 0xe5a81e40L, 0x4080f44f,
    /*0x780*/ 0x201c62a0, 0x209c8360, 0x4f658320, 0xd50107a8L, 0xe0004638L, 0xf8444866L, 0x48660f1c, 0x20206060,
    /*0x7A0*/ 0x200c7620, 0x20d87520, 0x201076a0, 0xf81475a0L, 0xf1a40c0cL, 0x287f041c, 0xdc0cd029L, 0xd01d281fL,
    /*0x7C0*/ 0x2801dc04, 0x281cd014, 0xe014d139L, 0xd0182820L, 0xd1342837L, 0x28c2e018, 0xdc04d022L, 0xd019288cL,
    /*0x7E0*/ 0xd12c28bfL, 0x28c8e019, 0x28efd01d, 0xe01dd127L, 0x447b4b51, 0x4b51e01c, 0xe019447bL, 0x447b4b50,
    /*0x800*/ 0x4b50e016, 0xe013447bL, 0x447b4b4f, 0x4b4fe010, 0xe00d447bL, 0x447b4b4e, 0x4b4ee00a, 0xe007447bL,
    /*0x820*/ 0x447b4b4d, 0x4b4de004, 0xe001447bL, 0x447b4b4c, 0x4642b12b, 0x46204629, 0x46064798, 0x4e3ae001,
    /*0x840*/ 0xb3061d36L, 0x61e72500, 0xf0014628L, 0x2103fb1a, 0x22002301, 0xf7ff4608L, 0x4601fc78, 0x46202200,
    /*0x860*/ 0xfc96f7ffL, 0xb10d4601L, 0xe00020ffL, 0x42812000, 0x1c6dd102, 0xdbe72d02L, 0xd10a2d02L, 0xf4406aa0L,
    /*0x880*/ 0x62a07000, 0x6aa0e005, 0xd5020400L, 0xf7ff4620L, 0x4620fe01, 0xfd73f7ffL, 0xe5184630L, 0x4dffe92d,
    /*0x8A0*/ 0x4683b08a, 0x90032000L, 0x68c6980b, 0xf7ff4658L, 0x4658fcc2, 0xfdaaf7ffL, 0x8028f8dbL, 0x4048ea5f,
    /*0x8C0*/ 0xf8bbd576L, 0xf0080018L, 0xf4000104L, 0x4308407f, 0x2001d000, 0x22014682, 0x46582105, 0xfc48f7ffL,
    /*0x8E0*/ 0x14f88b, 0xaea5f, 0x2201d004, 0x46582135, 0xfc3ef7ffL, 0x15f88b, 0x4014f8bb, 0xd0311c70L,
    /*0x900*/ 0xf8bbb16eL, 0xea240018L, 0x40300200, 0xf10a4302L, 0xb2c10001L, 0xf7ff4658L, 0x9003fd19L, 0xe02ce067L,
    /*0x920*/ 0x3803fff, 0x40003000, 0x20005, 0xcccccc, 0xb813fff, 0x2808000, 0x13e1, 0xe51,
    /*0x940*/ 0xc57, 0x1243, 0xbab, 0xd5d, 0xeef, 0x1461, 0x104f, 0xf99,
    /*0x960*/ 0x1529, 0x7800980c, 0x980db310L, 0xf8bb8802L, 0x4002001a, 0x43224384, 0xf8bbe7c9L, 0x4220001a,
    /*0x980*/ 0x990cd037L, 0x25002001, 0x980d7008L, 0xf10a8004L, 0xb2c70001L, 0x1af8bb, 0xea244639L, 0x46580200,
    /*0x9A0*/ 0xfcd4f7ffL, 0xb1209003L, 0x2d031c6d, 0xe189dbf2L, 0x20a6e01f, 0xd1fd1e40L, 0x21052201, 0xf7ff4658L,
    /*0x9C0*/ 0xf88bfbd7L, 0xea5f0014L, 0xd004000aL, 0x21352201, 0xf7ff4658L, 0xf88bfbcdL, 0xf8bb0015L, 0xf8bb0014L,
    /*0x9E0*/ 0x4208101a, 0x48f9d002, 0xe16b9003L, 0x28009803, 0xf418d1ddL, 0xd0da3f60L, 0xf8db2000L, 0x46045038,
    /*0xA00*/ 0x20019006, 0xb10e9008L, 0xe00020ffL, 0x90092000L, 0x90002000L, 0xf44f980bL, 0xe9d03780L, 0x44081000,
    /*0xA20*/ 0xf10b9002L, 0x4682003c, 0xf8db9005L, 0xa907001cL, 0x5040f3c0, 0x90011cc0L, 0xf7ff4658L, 0x9004fd1dL,
    /*0xA40*/ 0xf8bdb915L, 0x9006001cL, 0x4008ea5f, 0xea5fd505L, 0xd40250c8L, 0xf7ff4658L, 0x1c70fd1d, 0xb1b6d001L,
    /*0xA60*/ 0x980ce104L, 0xb1587800L, 0x4008ea5f, 0xe9ddd5f8L, 0x990d2004L, 0xfa9ef001L, 0xf8ad2000L, 0xe0f5001cL,
    /*0xA80*/ 0xf7ff4658L, 0x2000fc7c, 0xe8bdb00eL, 0x990c8df0L, 0x70082000, 0x4008ea5f, 0xe9ddd5e2L, 0x980d2104L,
    /*0xAA0*/ 0xfa88f001L, 0x9806e0e2L, 0x88e8bb28L, 0x68289006, 0xf9959000L, 0x28000005, 0x4240da00, 0x40872701,
    /*0xAC0*/ 0x7c07928, 0x1b0d021, 0x1006ea40, 0x86ea40, 0xb2c04330L, 0x20029009, 0x2c409008, 0x2c10d00c,
    /*0xAE0*/ 0x2c04d00a, 0x2c01d008, 0x2c20d006, 0x2c08d00a, 0x2c02d008, 0xe017d006L, 0xf7ff4658L, 0xf04ffc40L,
    /*0xB00*/ 0xe7c11002L, 0x454ea44, 0xb10ee00eL, 0xe00020ffL, 0x90092000L, 0x90082001L, 0xd0032c30L, 0xd0012c0cL,
    /*0xB20*/ 0xd1012c03L, 0x444ea04, 0xb125b934L, 0x7c07928, 0x24c0d001, 0x2480e000, 0x6801980b, 0x44389800,
    /*0xB40*/ 0xd2784281L, 0x98029900L, 0xd9744288L, 0x3f40f418, 0x1c70d063, 0x2e00d00b, 0xea5fdd1bL, 0xd50b30c8L,
    /*0xB60*/ 0x2136460b, 0x9a014658L, 0xfb32f7ffL, 0xf89ae04eL, 0x42200000, 0xe049d1f1L, 0x22002301, 0x990120e5L,
    /*0xB80*/ 0xfae3f7ffL, 0x23014601, 0x9a004658L, 0xfb2ef7ffL, 0xd13be03cL, 0x30c8ea5f, 0x203cd501, 0x20e8e000,
    /*0xBA0*/ 0x22002301, 0xf7ff9901L, 0x4601fad0, 0x9a004658L, 0xfaeef7ffL, 0xea5fb2c0L, 0xd5023188L, 0x78943c1,
    /*0xBC0*/ 0x7c0d00b, 0xea5fd025L, 0xd50b30c8L, 0x3200e9dd, 0x46582139, 0xfafcf7ffL, 0x4658e010, 0xfbcff7ffL,
    /*0xBE0*/ 0xe751487aL, 0x22002301, 0x990120e5L, 0xfaadf7ffL, 0x23004601, 0x9a004658L, 0xfaf8f7ffL, 0x2001990c,
    /*0xC00*/ 0xf89a7008L, 0x43200000, 0xf88a, 0xbbe89803L, 0xf89ae011L, 0x43a00000, 0xf89ae7f6L, 0x99092000L,
    /*0xC20*/ 0x4ea22, 0x43084021, 0xd0044282L, 0xf88a, 0x2001990c, 0x98087008L, 0xd10140c4L, 0xa01f10a,
    /*0xC40*/ 0xf995b135L, 0x28000005, 0xf1c7da02L, 0xe0000000L, 0x99004638L, 0x90004408L, 0xf1a09806L, 0x4000001,
    /*0xC60*/ 0x90060c00L, 0xb10dd102L, 0x508f105, 0x1cf8bd, 0x101f1a0, 0x101cf8ad, 0xf47f2800L, 0x980caf14L,
    /*0xC80*/ 0xb1187800L, 0x4008ea5f, 0xe000d51cL, 0x4658e01a, 0xfa9bf7ffL, 0x99054658L, 0xfa62f7ffL, 0x43109a04,
    /*0xCA0*/ 0x43104a4b, 0x60504a4b, 0xf811e002L, 0x75100b01, 0xf1a09804L, 0xb29b0301L, 0x28009304, 0x69d0d1f5,
    /*0xCC0*/ 0xd4fc0780L, 0xf7ff4658L, 0x9803fb5aL, 0xb570e6dcL, 0x6886680a, 0x6803b1ce, 0xd8064293L, 0x684d68c4,
    /*0xCE0*/ 0x4415441c, 0xd30042acL, 0x42961ad2, 0x684bd910, 0x42b34413, 0x690cd80c, 0xf30f014, 0x68c0d002,
    /*0xD00*/ 0xd8054283L, 0x600a2000, 0x4830bd70, 0xbd701c80L, 0x1e40482e, 0xb570bd70L, 0x4615460c, 0xf7ff4606L,
    /*0xD20*/ 0x4630fa8a, 0xfa51f7ffL, 0x608d492a, 0xf7ff4630L, 0x6a32fa17, 0x260f402, 0x6204ea42, 0x60484310,
    /*0xD40*/ 0xd0072cc7L, 0xd0052c60L, 0x46302101, 0x4070e8bd, 0xba91f7ffL, 0xe7f82103L, 0x460db570, 0x46044616,
    /*0xD60*/ 0xfa33f7ffL, 0x6085481b, 0x43316a21, 0xbd706041L, 0x4df0e92d, 0x460e4683, 0x46984617, 0xf8df681cL,
    /*0xD80*/ 0x6855a054, 0x693be067, 0xb2d0683aL, 0x7480f5c0, 0x42a5b113, 0x462cd200, 0xe0024621L, 0x1e6d1c76,
    /*0xDA0*/ 0x7b01e64, 0x7830d009, 0xd11828ffL, 0x2c00b1f5, 0xe01bd1f4L, 0x1f2d1d36, 0x68301f24, 0xd10e1c40L,
    /*0xDC0*/ 0xd30c2d04L, 0xd2f52c04L, 0xe00a, 0x20005, 0x42208000, 0x40003000, 0x1e6d1c76, 0xb12d1e64L,
    /*0xDE0*/ 0x2c04b124, 0x7830d202, 0xd0f528ffL, 0x44101b08, 0xb3956038L, 0xd0c72c00L, 0x46224601, 0xf7ff4658L,
    /*0xE00*/ 0x6838ffab, 0x60384420, 0x2c00e001, 0x4650d0bb, 0xd00b07b1L, 0xb14cb1c5L, 0x1b01f816, 0x1e6d7501,
    /*0xE20*/ 0xe7f51e64L, 0x6141ce02, 0x1f241f2d, 0xd3072d04L, 0xd2f72c04L, 0xf816e005L, 0x75011b01, 0x1e641e6d,
    /*0xE40*/ 0x2c00b115, 0xe000d1f7L, 0x2102b92c, 0xf7ff4658L, 0x2800fa12, 0x2d00d104, 0x2000d1d7, 0x4000f8c8,
    /*0xE60*/ 0x6800e613, 0xe0044408L, 0x1c496801, 0x1d00d104, 0x2a001f12, 0x2000d1f8, 0x68134770, 0x44186800,
    /*0xE80*/ 0x40486010, 0xd0010780L, 0x47702000, 0x47702001, 0x460cb53f, 0xaa02461dL, 0xffeff7ffL, 0xb948b335L,
    /*0xEA0*/ 0x9802e022L, 0x1b01f814, 0x42917802, 0x1c40d11f, 0x90021e6dL, 0xd00b07a0L, 0xd1f22d00L, 0x9802e016L,
    /*0xEC0*/ 0x68026821, 0xd1124291L, 0x1d241d00, 0x90021f2dL, 0xd2f42d04L, 0x9802e008L, 0x1b01f814, 0x42917802,
    /*0xEE0*/ 0x1c40d105, 0x90021e6dL, 0xd1f42d00L, 0xb0042000L, 0xb5f8bd30L, 0x6811460c, 0x68559100, 0x43de469c,
    /*0xF00*/ 0x4621466a, 0xffb9f7ffL, 0xf00cb385L, 0xb1e803ffL, 0x7a0b2f1, 0xb34dd018L, 0xf8149f00L, 0xf8170b01L,
    /*0xF20*/ 0x40582b01, 0x4210404a, 0xd11b9700L, 0xe7f01e6dL, 0x68209a00, 0xea806811L, 0x4071000c, 0xd1114208L,
    /*0xF40*/ 0x1d241d12, 0x92001f2dL, 0xd2f12d04L, 0xb16db2f1L, 0xf8149e00L, 0xf8160b01L, 0x40582b01, 0x4210404a,
    /*0xF60*/ 0xd0019600L, 0xbdf82001L, 0xe7f01e6dL, 0x2000e7ff, 0xe92dbdf8L, 0x46174df7, 0x468bb09d, 0x46392214,
    /*0xF80*/ 0xf001a802L, 0x2500f85c, 0x5068f88d, 0x687ca902, 0xf7ff981dL, 0x6fe9c, 0x9802d138L, 0x4420901b,
    /*0xFA0*/ 0x46289018, 0x69389005, 0xd4070580L, 0xaa1aab07L, 0x981da902L, 0xfc72f7ffL, 0xd1270006L, 0x981de0b1L,
    /*0xFC0*/ 0xa01f04f, 0x1030f890, 0xf001fa0aL, 0x1e429902, 0xeb004391L, 0x91010801L, 0xeba89902L, 0x42ac0501,
    /*0xFE0*/ 0x4625d200, 0x69389503, 0xd4060740L, 0xaa022300L, 0x981d4659L, 0xff7df7ffL, 0x2001b100, 0x91199902L,
    /*0x1000*/ 0xd07d2800L, 0x7006938, 0x48ead502, 0xe53cb020L, 0xb30868b8L, 0x1201e9dd, 0xa01eba2, 0x46429918,
    /*0x1020*/ 0xd2034541L, 0x9a184611L, 0xe0001a89L, 0x46882100, 0x10aea5f, 0x460ad005, 0xf0009901L, 0x9801ffbbL,
    /*0x1040*/ 0xf1b89002L, 0xd00a0f00L, 0x464268b9, 0xaeb01, 0xf0009918L, 0xe002ffafL, 0x800f04f, 0x981d46c2L,
    /*0x1060*/ 0xf8909a01L, 0xf7ff1034L, 0x6fe56, 0x981dd003L, 0xf985f7ffL, 0x6938e066, 0xd5100680L, 0xf7ff981dL,
    /*0x1080*/ 0x981df97eL, 0x99012201L, 0x30f890, 0x981d4082L, 0xfee7f7ffL, 0xd1b92800L, 0xf7ff981dL, 0x2000f8cc,
    /*0x10A0*/ 0x90069000L, 0xa00cf8cdL, 0xaa02466bL, 0x981d68b9L, 0xfe5ef7ffL, 0x95034606L, 0xf00f1b8, 0x2000d003,
    /*0x10C0*/ 0xb1169006L, 0x2001e008, 0x466be7fa, 0x4659aa02, 0xf7ff981dL, 0x4606fe4d, 0xf8cd2001L, 0x9006800cL,
    /*0x10E0*/ 0x68b9b966, 0x4451466b, 0x981daa02L, 0xfe40f7ffL, 0xd1030006L, 0xb1089800L, 0x1602f04f, 0xe000981dL,
    /*0x1100*/ 0xf7ffe056L, 0xb9eef93cL, 0x6c06938, 0x462bd507, 0x9a194659L, 0xf7ff981dL, 0x6febb, 0x44abd112,
    /*0x1120*/ 0x2c001b64, 0xaf4bf47fL, 0xb15868f8L, 0x981b9005L, 0x68789002, 0xab079003L, 0xa902aa1aL, 0xf7ff981dL,
    /*0x1140*/ 0x4606fbad, 0xe7614630L, 0xfff041, 0x1c6d1a45, 0xd20042acL, 0xf04f4625L, 0xaa0233ffL, 0x95034659L,
    /*0x1160*/ 0xf7ff981dL, 0xb1f0fec6L, 0xf7ff981dL, 0x2000f864, 0x466b9000, 0x4659aa02, 0xa018f8cdL, 0xf7ff981dL,
    /*0x1180*/ 0x4606fdf7, 0xf7ff981dL, 0x2e00f8fa, 0x6938d1da, 0xd50b06c0L, 0x4659462b, 0x981d9a19L, 0xfe78f7ffL,
    /*0x11A0*/ 0xd1cf0006L, 0x9802e002L, 0x90024428L, 0x1b6444ab, 0xd0b92c00L, 0x45419902, 0xaf01f4bfL, 0xe92de7c4L,
    /*0x11C0*/ 0xb09e4df3L, 0x2214460c, 0xf000a802L, 0x2600ff38, 0x606cf88d, 0x90016860L, 0xf890981eL, 0x20011030,
    /*0x11E0*/ 0x901a4088L, 0x9618a902L, 0xf7ff981eL, 0x5fd70, 0x9605d17eL, 0x5806920, 0xab07d407L, 0xa902aa1bL,
    /*0x1200*/ 0xf7ff981eL, 0x5fb4b, 0xe9ddd172L, 0x44080101, 0x9000911cL, 0xd16c2900L, 0x6881981e, 0x42819801,
    /*0x1220*/ 0x981ed867L, 0x6406a80, 0x981ed463L, 0xf803f7ffL, 0x461a2300, 0x981e21c7L, 0xffcaf7feL, 0x981e2103L,
    /*0x1240*/ 0xf819f7ffL, 0x981e4605L, 0xf899f7ffL, 0x2703e09f, 0x4438981e, 0xf890901dL, 0x28000030, 0x2101d07e,
    /*0x1260*/ 0xf800fa01L, 0xf1a89802L, 0xea200101L, 0xeba00b01L, 0xeb0b060bL, 0x90190008L, 0x42819900, 0x1a40d201,
    /*0x1280*/ 0x2000e000, 0x981a4682L, 0xd2794286L, 0xd2774582L, 0xb16868a0L, 0x4632b11e, 0xf0004659L, 0xf1bafe8bL,
    /*0x12A0*/ 0xd0050f00L, 0x465268a0, 0x99004430L, 0xfe82f000L, 0x465a981e, 0xf8904438L, 0x981e1034L, 0xfd2bf7ffL,
    /*0x12C0*/ 0x981e4605L, 0xf85bf7ffL, 0xd1702d00L, 0x6806920, 0x981dd50aL, 0x46592201, 0x30f890, 0x981e4082L,
    /*0x12E0*/ 0xfdbff7ffL, 0xd1030005L, 0xb3c068a0L, 0xe0012001L, 0xe048e05eL, 0xb1fe9006L, 0xf7fe981eL, 0xe9cdff9cL,
    /*0x1300*/ 0xab18b602L, 0x68a1aa02, 0xf7ff981eL, 0x4605fd31, 0xf7ff981eL, 0xb925f834L, 0xb1109818L, 0x1502f04f,
    /*0x1320*/ 0x6920e045, 0xd50606c0L, 0x465a4633, 0x981e68a1L, 0xfdaef7ffL, 0xbbd54605L, 0xf00f1ba, 0x981ed017L,
    /*0x1340*/ 0xff79f7feL, 0xe9cd9800L, 0x68a00a02, 0x1981ab18, 0x981eaa02L, 0xfd0cf7ffL, 0xe0014605L, 0xe006e010L,
    /*0x1360*/ 0xf7ff981eL, 0xbb15f80cL, 0x28009818, 0x9819d1d6L, 0x98019002L, 0xd90b4540L, 0x8eba0, 0xe0029001L,
    /*0x1380*/ 0xf57f1e7fL, 0x9801af65L, 0xf47f2800L, 0xb975af60L, 0xb16068e0L, 0x9002981cL, 0x90036860L, 0x900568e0L,
    /*0x13A0*/ 0xaa1bab07L, 0x981ea902L, 0xfa78f7ffL, 0x46284605, 0xe62c, 0x2000b, 0x41f0e92d, 0x7c847c46,
    /*0x13C0*/ 0x460f4605, 0xd0042e30L, 0xd0072e40L, 0xe8bd481cL, 0xf1a481f0L, 0x28070010, 0xe009d211L, 0x15f1a4,
    /*0x13E0*/ 0xd20c2802L, 0x401cf244, 0xf2448368L, 0x832850fcL, 0x46281e61, 0xf878f7ffL, 0xd1052e40L, 0x4810e002,
    /*0x1400*/ 0xe7e41e40L, 0xd50805f8L, 0xf44f480eL, 0x2c164188, 0x4b0dd301, 0x6a2be005, 0x480ce003, 0xf2444b0cL,
    /*0x1420*/ 0x2c160104, 0x2206d301, 0x2204e000, 0x5242ea40, 0x43024808, 0xe8bd4628L, 0xf7ff41f0L, 0xb86f,
    /*0x1440*/ 0x20008, 0xbb010000L, 0xa2888000L, 0xeb030000L, 0x32888000, 0x103fff, 0x41f0e92d, 0x7c404605,
    /*0x1460*/ 0xf44f460fL, 0x7ca94680, 0x343f1a0, 0xb24c3a, 0x800f04f, 0xd8252b05L, 0xd140094bL, 0x432f1a0,
    /*0x1480*/ 0x28444616, 0x2845d006, 0x2846d00b, 0xf444d33dL, 0xe03a7480L, 0x22204931, 0x46284479, 0xffcef7feL,
    /*0x14A0*/ 0x2901e033, 0x492dd131, 0x44792220, 0x4628310e, 0xffc4f7feL, 0x219f2204, 0xf7fe4628L, 0xe00fe59,
    /*0x14C0*/ 0xe022d1e5L, 0xd0092865L, 0xd0072866L, 0xd0142886L, 0xd0122887L, 0x1c404820, 0x81f0e8bdL, 0x456f1a0,
    /*0x14E0*/ 0xd0082865L, 0x8368206cL, 0x80f040, 0x20008328, 0x32f885, 0x2004e009, 0x949e7f5, 0x4620d001,
    /*0x1500*/ 0x3872e7ea, 0x7440f440, 0x20524616, 0x35f885, 0xf885200fL, 0xf2420031L, 0x62e80005, 0x11ff004,
    /*0x1520*/ 0xf7fe4628L, 0xf414ffe1L, 0xd0127f40L, 0x7f40f5b4, 0x5f8d301, 0xf446d504L, 0x4a096180, 0xe0034b09L,
    /*0x1540*/ 0x4b0a4a09, 0x108f046, 0xe8bd4628L, 0xf7fe41f0L, 0x4640bfe5, 0xe7bf62aeL, 0x20007, 0xc54,
    /*0x1560*/ 0x3b893fff, 0xa2888000L, 0x6b893fff, 0x32888000, 0x4605b570, 0x7cac7c40, 0x289d460e, 0x482dd001,
    /*0x1580*/ 0xf1a4bd70L, 0x28010013, 0x380cd918, 0xd8032803L, 0xf4443c11L, 0xe0117480L, 0xd0072c2fL, 0x44f1a4,
    /*0x15A0*/ 0xd8062802L, 0xf4443c31L, 0xe0077440L, 0x7487f44f, 0xf1a4e004L, 0x2802007c, 0x3c6cd820, 0x11ff004,
    /*0x15C0*/ 0xd8022910L, 0xf885200fL, 0xf5b40032L, 0xd3037f45L, 0x8368203cL, 0x832820bcL, 0xf7fe4628L, 0xf414ff85L,
    /*0x15E0*/ 0xd0cd7040L, 0x7040f44f, 0xd3014284L, 0xd50d05f1L, 0x4188f44f, 0xd9044284L, 0xe0034a0fL, 0x1e40480d,
    /*0x1600*/ 0x4a0ebd70, 0x431a4b0e, 0xe0036a2bL, 0x4b0e4a0d, 0x41a0f44f, 0xd9014284L, 0xe0002006L, 0xea422004L,
    /*0x1620*/ 0xf6435240L, 0x430270ff, 0xe8bd4628L, 0xf7fe4070L, 0xbf75, 0x20008, 0xbb100000L, 0x3b080000,
    /*0x1640*/ 0x13fff, 0xeb133fffL, 0x32888000, 0x41f0e92d, 0x7c867c45, 0x460f4604, 0xd0082d20L, 0xbef005,
    /*0x1660*/ 0xd0042830L, 0xd0022d38L, 0xe8bd4824L, 0xf1a681f0L, 0x28090010, 0x4821d302, 0xe7f61e40L, 0xd8032e11L,
    /*0x1680*/ 0xf884200fL, 0xe00c0032L, 0xd10a2d20L, 0xd1082e17L, 0xf8042010L, 0x20d80f30, 0x20007120, 0xf1a470a0L,
    /*0x16A0*/ 0x1e710430, 0xf7fe4620L, 0x2e16ff1f, 0x2d30d006, 0x2d70d002, 0xe005d002L, 0xd3032e16L, 0x8360203cL,
    /*0x16C0*/ 0x832020bcL, 0xbff005, 0xd0012830L, 0xe7cc2000L, 0x6a238b60, 0xc0f040, 0x5f88320, 0xf44fd503L,
    /*0x16E0*/ 0x4a074188, 0x4a07e004, 0x102f244, 0x13c0f443, 0xe8bd4620L, 0xf7fe41f0L, 0xbf11, 0x20008,
    /*0x1700*/ 0xbb913fffL, 0xebdb3fffL, 0x41f0e92d, 0x7c857c44, 0x460f4606, 0xd00a2c20L, 0xd0082c21L, 0xd0062c30L,
    /*0x1720*/ 0xd0042c40L, 0xd0022c41L, 0xe8bd4820L, 0xf1a581f0L, 0x28050013, 0x481dd302, 0xe7f61e40L, 0xd0012c30L,
    /*0x1740*/ 0xd1052c41L, 0x833020bcL, 0xd1012c41L, 0x8370203cL, 0x46301e69, 0xfec8f7feL, 0xd5010660L, 0xd50a05f8L,
    /*0x1760*/ 0x4188f44f, 0xd5010660L, 0xe0004a11L, 0x48124a11, 0x43026a33, 0x2d16e007, 0xf44fd009L, 0x4a0f5080,
    /*0x1780*/ 0xf4404b0fL, 0xf0144180L, 0xd0020f9fL, 0x2004e005, 0x2d16e7f5, 0xf441d101L, 0x6605100, 0xf442d501L,
    /*0x17A0*/ 0x46300280, 0x41f0e8bd, 0xbeb8f7feL, 0x20008, 0xbb100000L, 0x3b080000, 0x813fff, 0xeb933fffL,
    /*0x17C0*/ 0x32888000, 0x41f0e92d, 0x6a064604, 0x7ca57c40, 0x2840460f, 0x4822d002, 0x81f0e8bdL, 0x10f1a5,
    /*0x17E0*/ 0xd83a2807L, 0xf8842052L, 0x200f0035, 0x31f884, 0xd00b2d10L, 0xd3052d14L, 0xf88420d2L, 0x20110037,
    /*0x1800*/ 0x33f884, 0xd2052d16L, 0xe005201cL, 0xf8842000L, 0xe7f90032L, 0x1cf244, 0x2d168360, 0xf44fd202L,
    /*0x1820*/ 0xe00170feL, 0x50fcf244, 0x1e698320, 0xf7fe4620L, 0x5f8fe5b, 0xf244d503L, 0x4a0a4101, 0x4a0ae005,
    /*0x1840*/ 0x105f244, 0xd3002d16L, 0x48094e08, 0x43024633, 0xe8bd4620L, 0xf7fe41f0L, 0x4801be61, 0xe7bb1e40L,
    /*0x1860*/ 0x20008, 0xbb110000L, 0xeb130000L, 0x32888000, 0xc03fff, 0x4ff7e92d, 0x7c847c45, 0xf04f4606L,
    /*0x1880*/ 0xf44f0b00L, 0x2d204a80, 0x2d24d008, 0x2d25d006, 0x2d5ed004, 0x485ad002, 0x8ffee8bdL, 0x81ff004,
    /*0x18A0*/ 0x10f1a8, 0xd8722809L, 0x101f1a8, 0xf7fe4630L, 0x4954fe1b, 0xff004, 0x2c104479, 0x83705c08L,
    /*0x18C0*/ 0x80f040, 0xd1028330L, 0xf8862000L, 0x22010032, 0x46302105, 0xfc4cf7feL, 0x7530b2c0, 0x740f010,
    /*0x18E0*/ 0xf040d119L, 0xf0800040L, 0x21010204, 0xf7fe4630L, 0xea5ffd2dL, 0xd1cf0b00L, 0x21052201, 0xf7fe4630L,
    /*0x1900*/ 0xf080fc37L, 0xb2c20004L, 0xf0027532L, 0x21010740, 0xf7fe4630L, 0x2d20fd1b, 0x2d25d002, 0xe00fd004L,
    /*0x1920*/ 0xd3122c16L, 0xe010b937L, 0x33f1a4, 0xd9012806L, 0xd30e2c53L, 0xf8862052L, 0x200f0035, 0x31f886,
    /*0x1940*/ 0xd0022d20L, 0xd0042d25L, 0x2c17e01b, 0xb917d319L, 0x2c34e034, 0xf1a8d315L, 0x28060014, 0xe8dfd20fL,
    /*0x1960*/ 0x703f000, 0x26211c17, 0x22104927, 0xe0034479L, 0x22104925, 0x31084479, 0xf7fe4630L, 0xf04ffd5fL,
    /*0x1980*/ 0xb1cf0a80L, 0xf4109801L, 0xd1197f80L, 0xe033e02bL, 0x2210491d, 0x39084479, 0x491be7ee, 0x44792218,
    /*0x19A0*/ 0xe7e91e89L, 0x22184918, 0x310c4479, 0x4916e7e4, 0x44792218, 0xe7df311aL, 0xd11b2d20L, 0xd3192c15L,
    /*0x19C0*/ 0x2d20b137, 0x2c18d101, 0x20bbd902, 0xe0012102L, 0x2101203b, 0xea400600L, 0x480c42c1, 0x6180f44a,
    /*0x19E0*/ 0x6a334302, 0x4b0ae002, 0x46514a0a, 0xf7fe4630L, 0x4683fd95, 0xe74f4658L, 0x1e404801, 0xe74c,
    /*0x1A00*/ 0x20008, 0x8ec, 0x7c0, 0x813fff, 0x38908000, 0xebd33fffL, 0x4602b50c, 0xe9d0a053L,
    /*0x1A20*/ 0xe9cd3000L, 0x5c83000, 0x2a4bd505, 0x2001d801, 0x2002bd0c, 0x2000bd0c, 0x5c0b4669, 0xd2024293L,
    /*0x1A40*/ 0x28051c40, 0x1c40d3f9, 0xe92dbd0cL, 0x46044df0, 0x468b4610, 0x7ca67c65, 0xffdef7ffL, 0xf44fb2c7L,
    /*0x1A60*/ 0xf04f4880L, 0x2d200a0c, 0x2dbad00e, 0x2dbbd00c, 0x20dbd00a, 0x2d802108, 0x2d40d01a, 0x2d71d024,
    /*0x1A80*/ 0x483cd028, 0x8df0e8bdL, 0xf88420d8L, 0x2e110034, 0x200fd801, 0x2d20e006, 0x2e18d103, 0x2012d301,
    /*0x1AA0*/ 0x2010e000, 0x30f884, 0xf8842000L, 0xe0110032L, 0x430f104, 0x70217120, 0x20f04f, 0xf8847160L,
    /*0x1AC0*/ 0xf1a4a001L, 0xe0050430L, 0x34f884, 0x1030f884, 0x840f04f, 0x10f1a6, 0xd302280aL, 0x1e404825,
    /*0x1AE0*/ 0x1e71e7d0, 0xf7fe4620L, 0x2e13fcff, 0xf8a4d202L, 0xe006a01aL, 0xd3042dbaL, 0xd3042e17L, 0x8360205cL,
    /*0x1B00*/ 0x2d71e001, 0x2dbad011, 0x2dbbd00f, 0x2000d00d, 0xf0408b61L, 0x43080080, 0x2d718320, 0xd106d322L,
    /*0x1B20*/ 0x3111f44f, 0x4b154a14, 0x2020e017, 0x4814e7f0, 0xea5f62e0L, 0xd50650cbL, 0xf2444812L, 0xea404130L,
    /*0x1B40*/ 0x4b114207, 0x4811e005, 0xf2444b11L, 0xea400130L, 0x2e184207, 0xf441d301L, 0x46203100, 0x4df0e8bd,
    /*0x1B60*/ 0xbcdcf7feL, 0xf8c42000L, 0xe78b8028L, 0x5f4e3b27, 0x6c, 0x20008, 0x3b893fff, 0xa2888000L,
    /*0x1B80*/ 0x503070, 0xbbd83fffL, 0xd2988000L, 0xebd83fffL, 0x12988000, 0x4604b510, 0x219f2205, 0xfae8f7feL,
    /*0x1BA0*/ 0x28030e00, 0x4930d001, 0x493062e1, 0xb1197d09L, 0xd0052901L, 0xbd10482eL, 0xf8842012L, 0xe0030030L,
    /*0x1BC0*/ 0xd1012803L, 0x8360203cL, 0x46207ca1, 0xf7fe1e49L, 0x2000fc8b, 0xb570bd10L, 0x460d4604, 0x7ca17c40,
    /*0x1BE0*/ 0xf88422d8L, 0x22102034, 0x2030f884, 0xf8842200L, 0x4a1f2032, 0x28021c52, 0x2820d003, 0x1c50d013,
    /*0x1C00*/ 0xf1a1bd70L, 0x28020012, 0x4620d803, 0xfc6cf7feL, 0xf1a1e013L, 0x28010015, 0x4813d802, 0xe7f462e0L,
    /*0x1C20*/ 0xd0042919L, 0x2918e001, 0x4610d001, 0x4620bd70, 0xffb0f7ffL, 0xfff010, 0x6ae0d1f8, 0xd0f52800L,
    /*0x1C40*/ 0xf4408b60L, 0x83205036L, 0xd50405e8L, 0x4188f44f, 0x6a234a08, 0x4a08e003, 0xf2444b08L, 0x46200104,
    /*0x1C60*/ 0x4070e8bd, 0xbc5af7feL, 0x306005, 0x40003000, 0x20006, 0xbbd13fffL, 0xebd33fffL, 0x32888000,
    /*0x1C80*/ 0x4604b570, 0x7c807c41, 0x29264a26, 0x2925d003, 0x1c50d02d, 0xf000bd70L, 0x290301df, 0x2107d829,
    /*0x1CA0*/ 0x210074e1, 0x507f000, 0x1032f884, 0x113f105, 0xf7fe4620L, 0x2d01fc19, 0x2d02d004, 0x2d03d006,
    /*0x1CC0*/ 0xe00fd10bL, 0x22284918, 0xe0034479L, 0x22284916, 0x31204479, 0xf7fe4620L, 0x4b14fbb1, 0xf2484a14L,
    /*0x1CE0*/ 0xe01a0102L, 0x22284910, 0x31304479, 0x284be7f2, 0x4610d001, 0x2116bd70, 0xf7fe4620L, 0x203cfbf5,
    /*0x1D00*/ 0x20bc8360, 0x20528320, 0x35f884, 0x4b09200f, 0xf8844a09L, 0xf44f0031L, 0x462041c8, 0x4070e8bd,
    /*0x1D20*/ 0xbbfcf7feL, 0x20007, 0x4e8, 0x2988000, 0xb993fff, 0xa2888000L, 0xbb913fffL, 0x4602b508,
    /*0x1D40*/ 0x4669a039, 0x90006800L, 0x5c0b2000, 0xd2024293L, 0x28031c40, 0x1c40d3f9, 0xe92dbd08L, 0x469041f0,
    /*0x1D60*/ 0x460b7c47, 0x4a317c86, 0xf44f4604L, 0xf44f4580L, 0x2f304188, 0xf017d003L, 0xd0090f8fL, 0xf1a6e029L,
    /*0x1D80*/ 0x28040010, 0x8b20d20aL, 0x20f040, 0xe0108320L, 0xd01e2f70L, 0x12f1a6, 0xd3022808L, 0xe8bd4610L,
    /*0x1DA0*/ 0xf24481f0L, 0x8360001cL, 0x10fcf244, 0x5d88320, 0x460dd500, 0x46201e71, 0xfb96f7feL, 0xf8842052L,
    /*0x1DC0*/ 0x200f0035, 0x31f884, 0xd5050568L, 0x6a234a18, 0x4816e011, 0xe7e21c40L, 0xd00f2f60L, 0x21022203,
    /*0x1DE0*/ 0x504f244, 0x4122001, 0x42c1ea42, 0x430a4911, 0xea414911L, 0x2f4043c0, 0xe00ed009L, 0x504f644,
    /*0x1E00*/ 0xf7ff4640L, 0xb2c2ff9bL, 0x46012003, 0x2e14e7eb, 0x2e16d303, 0xf045d801L, 0x46290501, 0xe8bd4620L,
    /*0x1E20*/ 0xf7fe41f0L, 0xbb7b, 0x50321e, 0x20007, 0xbbd13fffL, 0xebc03fffL, 0x32808000, 0x49514a52,
    /*0x1E40*/ 0x4a526011, 0x112f04f, 0xf1026011L, 0xf04f0204L, 0x60110142, 0xf04f494eL, 0xfb000280L, 0xf44ff001L,
    /*0x1E60*/ 0xfbb011e1L, 0x484bf1f1, 0xb2ca60c2L, 0xea4f6002L, 0x60412111, 0x107f04f, 0xf04f60c1L, 0x60810147,
    /*0x1E80*/ 0xb1284770L, 0xd0052801L, 0x494320d3, 0x47706008, 0xe7fa20dbL, 0xe7f820c3L, 0x20f34940, 0xf04f6008L,
    /*0x1EA0*/ 0x610800d3, 0x608860c8, 0xf04f6048L, 0x61480013, 0xb5f04770L, 0x4c34460f, 0x3ca02100, 0x4b3861a1,
    /*0x1EC0*/ 0x6163e005, 0x2116962, 0xf3c2d4fcL, 0x3978214d, 0xd2f62929L, 0xd90128a0L, 0xe00220a0L, 0xd200280aL,
    /*0x1EE0*/ 0xf44f200aL, 0xfbb171a0L, 0x4358f3f0, 0xfbb0210cL, 0x4a2cf0f1, 0xea421e41L, 0x6c624501, 0x40164e2a,
    /*0x1F00*/ 0xd01342aeL, 0xf3c66ee6L, 0x2e0c6604, 0x4e27d101, 0x7d666e6, 0xf042d106L, 0x64620201, 0x1c522200,
    /*0x1F20*/ 0xd9fc2affL, 0x6c216465, 0xd0fc07c9L, 0x140eb00, 0x7296f44f, 0xf81ebb2, 0x2103d201, 0x2296e006,
    /*0x1F40*/ 0xf81ebb2, 0x2102d201, 0x2101e000, 0x1f12008a, 0x6210f042, 0x9a64a2, 0xf0421f12L, 0x65a26210,
    /*0x1F60*/ 0x66e24a08, 0x67224a12, 0x40eb00, 0xfbb50085L, 0x4620f4f1, 0xff62f7ffL, 0x603cb107, 0xf0f3fbb5L,
    /*0x1F80*/ 0xbdf0, 0xc000800, 0x400500a0, 0x40086634, 0xf4240, 0x40082000, 0x40086198, 0x4008618c,
    /*0x1FA0*/ 0x6800078, 0x6000080, 0xfff33c3, 0x1000800, 0x10000800, 0xf2402a03L, 0xf0108030L, 0xf0000c03L,
    /*0x1FC0*/ 0xf8118015L, 0xf1bc3b01L, 0x44620f02, 0xf811bf98L, 0xf800cb01L, 0xbf383b01L, 0x3b01f811, 0x204f1a2,
    /*0x1FE0*/ 0xf800bf98L, 0xbf38cb01L, 0x3b01f800, 0x303f011, 0x8025f000L, 0xf0c03a08L, 0xf8518008L, 0x3a083b04,
    /*0x2000*/ 0xcb04f851L, 0x1008e8a0, 0x1d12e7f5, 0xf851bf5cL, 0xf8403b04L, 0xf3af3b04L, 0x7d28000, 0xf811bf24L,
    /*0x2020*/ 0xf8113b01L, 0xbf48cb01L, 0x2b01f811, 0xf800bf24L, 0xf8003b01L, 0xbf48cb01L, 0x2b01f800, 0xb5104770L,
    /*0x2040*/ 0xf0c03a20L, 0xe8b1800bL, 0x3a205018, 0x5018e8a0, 0x5018e8b1, 0x5018e8a0, 0xaff5f4bfL, 0x7c02ea5f,
    /*0x2060*/ 0xe8b1bf24L, 0xe8a05018L, 0xbf445018L, 0xc018c918L, 0x4010e8bd, 0x7c82ea5f, 0xf851bf24L, 0xf8403b04L,
    /*0x2080*/ 0xbf083b04L, 0x7d24770, 0xf831bf28L, 0xbf483b02L, 0x2b01f811, 0xf820bf28L, 0xbf483b02L, 0x2b01f800,
    /*0x20A0*/ 0xf04f4770L, 0xb5000200L, 0x46944613, 0x39204696, 0xe8a0bf22L, 0xe8a0500cL, 0xf1b1500cL, 0xf4bf0120L,
    /*0x20C0*/ 0x709aff7, 0xe8a0bf28L, 0xbf48500cL, 0xf85dc00cL, 0x89eb04, 0xf840bf28L, 0xbf082b04L, 0xbf484770L,
    /*0x20E0*/ 0x2b02f820, 0x4f80f011, 0xf800bf18L, 0x47702b01, 0x0, 0x71000, 0x70000, 0x10f00,
    /*0x2100*/ 0x78000, 0x20d00, 0x7c000, 0x10e00, 0x0, 0xf1000, 0xf0000, 0x10e00,
    /*0x2120*/ 0xf4000, 0x20d00, 0xf8000, 0x10f00, 0x0, 0x100c00, 0x10000, 0xf1000,
    /*0x2140*/ 0x0, 0x100c00, 0x10000, 0x1f1000, 0x0, 0x100c00, 0x10000, 0x3f1000,
    /*0x2160*/ 0x0, 0x100c00, 0x10000, 0x7e1000, 0x7f000, 0x100c00, 0x0, 0x100c00,
    /*0x2180*/ 0x10000, 0xfe1000, 0xff000, 0x100c00, 0x0, 0x100c00, 0x10000, 0x1fe1000,
    /*0x21A0*/ 0x1ff000, 0x100c00, 0x3c7c0c0c, 0x3c3c3c3c, 0x3c3c, 0x1fe000, 0x4f301, 0x6000,
    /*0x21C0*/ 0x4f301, 0x1f0000, 0x1f100, 0x8000, 0x1f100, 0x1e0000, 0x1ef000, 0x3fe000,
    /*0x21E0*/ 0x4f301, 0x6000, 0x4f301, 0x3f0000, 0x1f100, 0x8000, 0x1f100, 0x3e0000,
    /*0x2200*/ 0x3ef000, 0x7fe000, 0x4f301, 0x6000, 0x4f301, 0x7f0000, 0x1f100, 0x8000,
    /*0x2220*/ 0x1f100, 0x7e0000, 0x7ef000, 0x0, 0x0,
};

static const TARGET_FLASH flash = {
    0x10000029, // Init
    0x1000007B, // UnInit
    0x1000007F, // EraseChip
    0x1000009F, // EraseSector
    0x100000CD, // ProgramPage
    0x0,        // Verify

    {
        (RAM_START + 0x0001), // breakpoint (RAM start + 1)
        (RAM_START + sizeof(LPC4330_FLM)), // static_base (RAM start + flash algorithm)
        (RAM_START + 0x8000)
    }, // stack_pointer (RAM start + 32K)

    (RAM_START + 0x4000),  // program_buffer (RAM to store FLASH_SECTOR_SIZE)
    RAM_START,             // algo_start (start of RAM)
    sizeof(LPC4330_FLM),   // algo_size
    LPC4330_FLM,           // image

    512                    // ram_to_flash_bytes_to_be_written
};

#endif
